﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>级联下拉框</title>
     <script language="JavaScript" src="../../../Comm/JScript.js" type="text/javascript" ></script>
    <script type="text/javascript" src="../../../Scripts/bootstrap/js/jquery.min.js"></script>
    <script src="../../../Scripts/QueryString.js" type="text/javascript"></script>
    <link href="../../../../DataUser/Style/ccbpm.css" rel="stylesheet"  type="text/css" />

    <!-- 引用通用的js文件. -->
    <script type="text/javascript" src="../../../Scripts/config.js"></script>
    <script type="text/javascript" src="../../../Comm/Gener.js"></script>

    <script type="text/javascript" language="javascript" >
        //页面启动函数.
        var mapExt;
        $(function () {

            $("#Msg").html("正在加载,请稍后......");

            var fk_MapData = GetQueryString("FK_MapData");
            var keyOfEn = GetQueryString("KeyOfEn");

            $.ajax({
                type: 'post',
                async: true,
                url: Handler + "?DoType=ActiveDDL_Init&FK_MapData=" + fk_MapData + "&KeyOfEn=" + keyOfEn + "&m=" + Math.random(),
                dataType: 'html',
                success: function (json) {

                    if (json.indexOf('err@') == 0) {
                        alert(json);
                        return;
                    }

                    json = JSON.parse(json);

                    mapExt = json['Sys_MapExt'];

                    //绑定下拉框.
                    GenerBindDDL("DDL_AttrsOfActive", json['Sys_MapAttr'], "No", "Name", mapExt.AttrsOfActive);

                    //绑定数据源.
                    GenerBindDDL("DDL_FK_DBSrc", json['Sys_SFDBSrc'], "No", "Name", mapExt.FK_DBSrc);

                    //调用公共类库的方法:执行批量主表赋值
                    GenerFullAllCtrlsVal(mapExt);
                    if (mapExt.DBType != 0)
                        $("#TR_SQL").hide();

                    return;
                }
            });

            $("#Msg").html("");
        });

        function changeDoc(obj) {
            if (obj.value == 0)
                $("#TR_SQL").show();
            else
                $("#TR_SQL").hide();

            if (obj.value != mapExt.DBType)
                $("#TB_Doc").val("");
            else
                $("#TB_Doc").val(mapExt.Doc);
        }

        //装载模版.
        function LoadTemplate() {

            //打开方向条件.
            var url = "../../SettingTemplate.htm?TemplateType=ActiveDDL";
            WinOpen(url, 'ss');
        }
    </script>
</head>
<body  >

<form id="cc">


<table id="table" style="width:100%;" >
<caption>下拉框级联</caption>

<tr>
<td> 联动下拉框 </td>
<td> <select name="DDL_AttrsOfActive" id="DDL_AttrsOfActive" > </select> </td>
<td> 要实现联动的菜单 </td>
</tr>
<tr> 
	<td>数据源类型 </td>
	<td> 
		<select id="DDL_DBType" name="DDL_DBType" onchange="changeDoc(this)">
		<option value="0">执行SQL</option>
		<option value="1">执行url返回JSON</option>
		<option value="2">执行SFTable.js返回JSON</option>
		</select>  
	</td>
</tr>
<tr id="TR_SQL">
<td> 执行SQL的数据源 </td>
<td> <select name="DDL_FK_DBSrc" id="DDL_FK_DBSrc" > </select> </td>
<td> ccform允许从其他数据源中取数据,
</td>
</tr>

<tr>
<td colspan="3"> 执行数据源 </td>
</tr>

<tr> 
<td  colspan="3" style="width:100%;"  > <textarea rows=4 name="TB_Doc" id="TB_Doc" > </textarea> </td>
</tr>


<tr>
<td colspan=3 >
<input type="button" value="装载模版" onclick="LoadTemplate()" id="Button1" />
<input type="button" value="保存" onclick="Save()" id="Btn_Save" />
<input type="button" value="删除" onclick="Delete()" id="Btn_Delete" />
<a href="javascript:ShowHidden('sqlexp')"  >自动级联帮助: </a>
 </td>
</tr>


<tr>
<td colspan=3>  

<div id='sqlexp'  style='color:Gray; display:none'>
<ul>
    <li>在下面文本框中输入一个SQL,具有编号，标签列，用来绑定下从动下拉框。</li>       
         <li>   比如: SELECT No, Name FROM CN_SF WHERE FK_PQ = '@Key' </li> 
         <li>   SELECT No, Name FROM CN_City WHERE FK_SF = '@Key'</li> 
          <li>  说明:@Key是ccflow约定的关键字，是主下拉框传递过来的值</li> 
          <li>  主菜单是编号的是从动菜单编号的前几位，不必联动内容。</li> 
          <li>  比如: 主下拉框是省份，联动菜单是城市。</li> 
            </ul>
</div>
      </td>
</tr>
</table>

<div id="Msg"> </div>

<script type="text/javascript">

    function Save() {

        $("#Msg").html("正在保存,请稍后......");
        //组织主键.
        var mypk = "ActiveDDL_" + GetQueryString("FK_MapData") + "_" + GetQueryString("KeyOfEn");
        var en = new Entity("BP.Sys.MapExt");
        en.MyPK = mypk;
        en.RetrieveFromDBSources();

        en.CopyForm(); //复制表单数据.

        en.FK_MapData = GetQueryString("FK_MapData");
        en.AttrOfOper = GetQueryString("KeyOfEn");
        en.ExtType = "ActiveDDL";
        en.MyPK = mypk;

        if (en.Update() == 0)
            en.Insert();

        $("#Msg").html("<font color=green>保存成功</font>");
        return;


    }

    function Delete() {

        if (window.confirm('您确定要删除吗？') == false)
            return false;

        $.ajax({
            type: 'post',
            async: true,
            url: Handler + "?DoType=ActiveDDL_Delete&FK_MapData=" + GetQueryString("FK_MapData") + "&KeyOfEn=" + GetQueryString("KeyOfEn") + "&m=" + Math.random(),
            dataType: 'html',
            success: function (data) {
                alert(data);
                window.location.href = window.location.href;
                return;
            }
        });
    }
</script>

</form>

</body>
</html>
